package com.wn.mapper;

import com.wn.ov.PatientOv;
import com.wn.pojo.PatientDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 患者详情
 */

public interface PatientDetailMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(PatientDetail record);

    int insertSelective(PatientDetail record);

    PatientDetail selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(PatientDetail record);

    int updateByPrimaryKey(PatientDetail record);

    //根据患者id修改在院状态
    int updateStatusByPatientId(PatientDetail patientDetail);

    //修改为出院
    int outHospitalByPatientId(PatientDetail patientDetail);

    //根据状态查询患者列表
    List<PatientDetail> getByStatus(Integer status);

    //通过护士id查询其住院患者列表
    List<PatientDetail> getByNurseId(Integer id);

    //根据病人的id来查询病人的详情
    PatientDetail selectByPatientId(Integer patientId);
    //根据病人的id来查询未住院病人的详情
    PatientDetail selectByPatientIdAndStatus(Integer patientId);

    //根据病房id查询病人的详情
    PatientDetail lookByRoomId(Integer roomId);

    //查询待床患者列表
    List<PatientDetail> getNoBedPatientList();

    //小查询患者详情id
    Integer getPatientDetailId(@Param("patientId") Integer patientId);

    //分页查询
    List<PatientOv> getPatientList();

    //高级检索
    List<PatientOv> superSearch(String superSearchKeyWord);

    //条件查询患者详情（护士）
    List<PatientOv> getPatientListByCondition(PatientOv patientOv);
    List<PatientOv> fuckSuperSearch(String superSearchKeyWord);
}